package org.wdcode.web.mina.need;

import java.util.List;

import org.apache.mina.core.service.IoHandler;
import org.wdcode.web.mina.filter.MinaIoFilter;

/**
 * Mina 需要用到的类 接口
 * @author WD
 * @since JDK6
 * @version 1.0 2010-08-03
 */
public interface MinaNeed {
	/**
	 * 获得IO处理器
	 * @return IO处理器
	 */
	IoHandler getIoHandler();

	/**
	 * 设置IO处理器
	 * @param ioHandler IO处理器
	 */
	void setIoHandler(IoHandler ioHandler);

	/**
	 * 获得监听端口
	 * @return 监听端口
	 */
	int getPort();

	/**
	 * 设置监听端口
	 * @param port 监听端口
	 */
	void setPort(int port);

	/**
	 * 获得IO过滤器
	 * @return IO过滤器
	 */
	List<MinaIoFilter> getIoFilters();

	/**
	 * 设置IO过滤器
	 * @param ioFilters IO过滤器
	 */
	void setIoFilters(List<MinaIoFilter> ioFilters);

	/**
	 * 删除IO过滤器
	 * @param name IO过滤器名称
	 */
	void removeIoFilter(String name);

	/**
	 * 添加IO过滤器
	 * @param name IO过滤器名称
	 * @param filter IO过滤器
	 */
	void addIoFilter(MinaIoFilter filter);
}
